<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      xmlns:cote="http://java.sun.com/jsf/composite/componentes">

    <ui:composition template="/plantillas/plantillaPrincipal.xhtml">
        <ui:define name="contenido">
            <f:view>
                <h:form id="formCobranza">
                    <p:panel id="pnlLineaCredito"
                             header="Cobranza de facturas pendientes"
                             style="width: 650px;margin: 0px auto;">
                        <br/>

                        <table border="0" cellspacing="3" cellpadding="3">                                               
                            <tbody>
                                <tr>

                                    <td>
                            <h:outputLabel id="lblRuc" value="RUC: " class="lblBusqueda" />
                            </td>
                            <td>
                            <p:inputText id="txtRuc"  onkeyup="cambiarMayuscula(this)"
                                         value="#{BKVentaCobranza.cliente.numeroDocumento}" />
                            </td>
                            <td colspan="4">


                            <cote:componenteFindCliente id="findCliente" 
                                                        lblbtnfind="BUSCAR CLIENTE"                                                                                                      
                                                        update=":formCobranza:txtRuc,:formCobranza:txtRazon,:formCobranza:dataTablaFacturas,:formCobranza:txtMontoSoles,:formCobranza:txtMontoDolares
                                                        :formCobranza:dataTablaFacturas:btnPagarDeuda"/>

                            </td>


                            </tr>
                            <tr>

                                <td>
                            <h:outputLabel id="lblRazon" value="CLIENTE: " class="lblBusqueda" />
                            </td>
                            <td colspan="5">
                            <p:inputText id="txtRazon" onkeyup="cambiarMayuscula(this)"   value="#{BKVentaCobranza.cliente.razonSocial}" style="width: 100%"
                                         readonly="true"/>
                            </td>


                            </tr>

                            <tr>

                                <td colspan="4">

                                </td>
                                <td>
                            <h:outputLabel id="lblMontoSoles" value="TOTAL DEUDA SOLES: " class="lblBusqueda"  />  
                            </td>
                            <td>
                            <p:inputText id="txtMontoSoles" onkeyup="cambiarMayuscula(this)"   value="#{BKVentaCobranza.montoSoles}" size="20" style="text-align:right;"
                                         readonly="true">
                                <f:convertNumber  minFractionDigits="2" maxFractionDigits="2"  />
                            </p:inputText>
                            </td>


                            </tr>
                            <tr>

                                <td colspan="4">

                                </td>
                                <td>
                            <h:outputLabel id="lblMontoDolares" value="TOTAL DEUDA DOLARES: " class="lblBusqueda" />  
                            </td>
                            <td>
                            <p:inputText id="txtMontoDolares" onkeyup="cambiarMayuscula(this)"   value="#{BKVentaCobranza.montoDolares}" size="20" style="text-align:right;"
                                         readonly="true">
                                <f:convertNumber   minFractionDigits="2" maxFractionDigits="2"  />
                            </p:inputText>
                            </td>
                            </tr>

                            </tbody>
                        </table>




                    </p:panel>

                    <p:panel id="pnlListarPendientes"
                             header="Lista Pendientes Pago" closable="true"
                             style="width: 100%;margin: 10px auto" visible="true"
                             widgetVar="listaFacturasPendientes">

                        <p:dataTable id="dataTablaFacturas" var="factura"
                                     value="#{BKVentaCobranza.listaFacturasPendientes}" widgetVar="lista"
                                     emptyMessage="No se encontraron Facturas"
                                     filteredValue="" rowIndexVar="rowIndex" paginator="true" rows="10"
                                     paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} 
                                     {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                     rowsPerPageTemplate="10,20,30"
                                     paginatorPosition="bottom" styleClass="datable-busqueda">

                            <f:facet name="header">
                                <div align="right">   
                                    <!--<h:commandButton value="Exportar EXCEL">  
                                        <p:dataExporter type="xls" target="dataTablaFacturas" fileName="Export" />  
                                    </h:commandButton>  

                                    <h:commandButton value="Exportar PDF">  
                                        <p:dataExporter type="pdf" target="dataTablaFacturas" fileName="Export"/>  
                                    </h:commandButton>
                                    -->
                                    <p:commandButton id="btnPagarDeuda" value="PAGAR EN BLOQUE" actionListener="#{MBVentaCobranza.nuevo()}" oncomplete="pagoMonto.show()"  ajax="true" 
                                                     update=":frmPago:panelPago" 
                                                     disabled="#{BKVentaCobranza.listaFacturasPendientes.size() eq 0}" />
                                </div>                                                                                                                                                      
                            </f:facet>



                            <p:column id="idColumnaNum" style="width: 5%" >
                                <f:facet name="header">  
                                    <h:outputText value="NUm." />  
                                </f:facet>
                                <h:outputText value="#{rowIndex+1}" />
                            </p:column>

                            <p:column id="idColumnaSerie" style="width: 5%" sortBy="#{factura.serieFactura}" >
                                <f:facet name="header">  
                                    <h:outputText value="Serie" />  
                                </f:facet>
                                <h:outputText value="#{factura.serieFactura}" />
                            </p:column>

                            <p:column id="idColumnaNumero" style="width: 10%" sortBy="#{factura.numFactura}" >
                                <f:facet name="header">  
                                    <h:outputText value="N. Doc" />  
                                </f:facet>
                                <h:outputText value="#{factura.numFactura}" />
                            </p:column>

                            <p:column id="idColumnaFecha" style="width: 10%" sortBy="#{factura.fechDocventa}" >
                                <f:facet name="header">  
                                    <h:outputText value="Fecha" />  
                                </f:facet>
                                <h:outputText value="#{factura.fechDocventa}" />
                            </p:column>

                            <p:column id="idColumnaRUC" style="width: 10%" sortBy="#{factura.ruc}" >
                                <f:facet name="header">  
                                    <h:outputText value="RUC Cliente" />  
                                </f:facet>
                                <h:outputText value="#{factura.ruc}" />
                            </p:column>

                            <p:column id="idColumnaRazon" style="width: 25%" sortBy="#{factura.razon}" >
                                <f:facet name="header">  
                                    <h:outputText value="Razon Social" />  
                                </f:facet>
                                <h:outputText value="#{factura.razon}" />
                            </p:column>

                            <p:column id="idColumnaMoneda" style="width: 5%" sortBy="" >
                                <f:facet name="header">  
                                    <h:outputText value="Moneda" />  
                                </f:facet>
                                <h:outputText value="#{factura.moneda.nombre}" />
                            </p:column>
                            
                            <p:column id="idColumnaVenta" style="text-align:right;width: 10%" sortBy="#{factura.precioVenta}"  >
                                <f:facet name="header">  
                                    <h:outputText value="Monto Venta" />  
                                </f:facet>
                                <h:outputText value="#{factura.precioVenta}">
                                    <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                </h:outputText>
                            </p:column>
                            
                            <p:column id="idColumnaCobrar" style="text-align:right;width: 10%" sortBy="#{factura.porCobrar}"  >
                                <f:facet name="header">  
                                    <h:outputText value="Por Cobrar" />  
                                </f:facet>
                                <h:outputText value="#{factura.porCobrar}">
                                    <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                </h:outputText>
                            </p:column>

                            <p:column id="idColumnaAcciones" style="width: 10%"  headerText="#{message['general.label.tipoAcesso']}" exportable="false">
                                <p:commandButton icon="ui-icon-check" title="Pagar Factura" process="@this" oncomplete="confirmacionPagar.show()"  ajax="true"
                                                 disabled="#{factura.porCobrar eq 0}">
                                    <f:setPropertyActionListener value="#{factura}" target="#{BKVentaFacturacion.ventaFacturacionFormulario}" />  
                                </p:commandButton>         
                                <h:commandLink action="#{MBVentaFacturacion.ver()}" target="_blank">
                                    <p:commandButton icon="ui-icon-search" title="#{message['general.button.ver']}"  />
                                    <f:setPropertyActionListener value="#{factura}" target="#{BKVentaFacturacion.ventaFacturacionSeleccionado}" />
                                    <f:setPropertyActionListener value="COBRANZA" target="#{BKVentaFacturacion.navegacion}" />  
                                </h:commandLink>

                            </p:column>


                        </p:dataTable>
                    </p:panel>

                    <p:confirmDialog id="dlgCobrarFV" message="¿Esta seguro de Pagar esta Factura?" 
                                     header="Pagar Factura" severity="alert" widgetVar="confirmacionPagar">
                        <h:panelGrid style="width: auto;margin:0px auto;border:0px;padding: 0 5px" columns="2">
                            <p:commandButton id="btnCobrarDialogFV" value="Si"  oncomplete="confirmacionPagar.hide()" update=":formCobranza:dataTablaFacturas"
                                             action="#{MBVentaFacturacion.pagarFactura()}" process="@this" />  
                            <p:commandButton id="btnCancelarCobrarDialogFV" value="No" onclick="confirmacionPagar.hide()" type="button" />
                        </h:panelGrid>
                    </p:confirmDialog>

                </h:form>

                <p:dialog id="dlgCobranza"  header="Cobranza" widgetVar="pagoMonto" modal="true"  height="150" >  
                    <h:form id="frmPago">
                        <p:panelGrid style="width:100%;margin: 10px auto;" id="panelPago">
                            <p:row>
                                <p:column>
                                    <h:panelGrid style="width:auto;margin:0px auto;border:0px;padding: 0 5px" columns="3">


                                        <h:outputLabel id="lblTipMoneda" value="Tipo Moneda " />
                                        <p:selectOneMenu id="cbxTipMoneda"
                                                         value="#{BKVentaCobranza.idTipoMoneda}" required="true">
                                            <f:selectItem itemLabel="Seleccionar" itemValue="0" />
                                            <f:selectItems value="#{BKVentaCobranza.listaTipoMoneda}"
                                                           var="tipoMoneda" itemLabel="#{tipoMoneda.nombre}"
                                                           itemValue="#{tipoMoneda.id}" />
                                            <p:ajax process="@this" update="txtPago btnAceptar" />
                                        </p:selectOneMenu>
                                        <p:message for="cbxTipMoneda" display="text" />

                                        <h:outputLabel id="lblPago" value="Monto a Pagar " />
                                        <p:inputText id="txtPago" validatorMessage="Debe ser mayo que 0.01 y menor que #{BKVentaCobranza.idTipoMoneda eq 1?BKVentaCobranza.montoSoles:BKVentaCobranza.montoDolares}"  value="#{BKVentaCobranza.monto}" size="20" style="text-align: right" disabled="#{BKVentaCobranza.idTipoMoneda eq 0}" > 
                                            <f:convertNumber   maxFractionDigits="2" minFractionDigits="2" />
                                            <f:validateDoubleRange minimum="0.01" maximum="#{BKVentaCobranza.idTipoMoneda eq 1?BKVentaCobranza.montoSoles:BKVentaCobranza.montoDolares}" />
                                        </p:inputText>
                                        <p:message for="txtPago" display="text" />


                                    </h:panelGrid>
                                </p:column>
                            </p:row>
                            <p:row>
                                <p:column>

                                    <h:panelGrid style="width: auto;margin:0px auto;border:0px;padding: 0 5px" columns="2">   
                                        <p:commandButton id="btnAceptar" value="Guardar"  oncomplete="if (args.validationFailed){ pagoMonto.show()} else {pagoMonto.hide()}"
                                                         actionListener="#{MBVentaCobranza.guardar()}" 
                                                         process="@this,txtPago,cbxTipMoneda" 
                                                         update="panelPago :formCobranza:dataTablaFacturas"
                                                         ajax="true" disabled="#{BKVentaCobranza.idTipoMoneda eq 0}" /> 
                                        <p:commandButton id="btnCancelar" value="Cancelar" onclick="pagoMonto.hide()" type="button" />
                                    </h:panelGrid>
                                </p:column>
                            </p:row>
                        </p:panelGrid>
                    </h:form>
                </p:dialog>
            </f:view>
        </ui:define>
    </ui:composition>

</html>